<?php
class CP_OrdersController extends XPHP_Controller
{
	/**
	 * Phương thức sẽ thực thi trước khi thực thi sau khi controller được khởi tạo
	 */
	public function _init()
	{
		//Load layout
		$this->loadLayout("Administrator");
		//Xác thực
		$this->helper->auth();
	}
	public function indexAction()
	{
		//Lấy ra toàn bộ danh sách đơn hàng
		$model = new Areas_CP_Models_Orders();
		$orderList = $model->select_all(false, "date_create DESC");
		//Trả về View
		$this->view->orderList = $orderList;
		return $this->view();
	}
	
	public function detailAction($args)
	{
		//Lấy ra thông tin đơn hàng
		$model = new Areas_CP_Models_Orders($args[0]);
		//Lấy ra chi tiết đơn hàng
		$detailModel = new Areas_CP_Models_OrderDetail($model->id);
		$detailList = $detailModel->select_all("spID='" . $model->id . "'");
		//Lấy thông tin sản phẩm
		$sum = 0;
		foreach ($detailList as $id => $d)
		{
			$product = new Areas_CP_Models_Products($d["productID"]);
			$detailList[$id]["productName"] = $product->name;
			$sum += ((int)$d["quantity"] * (float)$d["price"]);
		}
		
		//Trả về view
		$this->view->detailList = $detailList;
		$this->view->sum = $sum;
		
		$this->unloadLayout();
		return $this->view($model);
	}
	
	public function changeAJAX()
	{
		$id = $this->params["id"];
		$stt = $this->params["status"];
		$order = new Areas_CP_Models_Orders($id);
		$order->status = $stt;
		$order->update();
		
		return $this->json(array("success" => true));
	}
	
	public function deleteAJAX()
	{
		$id = $this->params["id"];
		//Xóa toàn bộ chi tiết đơn hàng
		$detail = new Areas_CP_Models_OrderDetail();
		$detail->delete("spID='" . $id . "'");
		//Xóa đơn hàng
		$model = new Areas_CP_Models_Orders($id);
		$this->model->delete();
		
		return $this->json(array("success" => true));
	}
}